package com.example.service;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.concurrent.ExecutorService;
import java.util.Date;

@Service // 标记为服务类，Spring会自动扫描并纳入IOC容器
public class TaskService {

    // 自动注入线程池（名称与ThreadPoolConfig中定义的Bean名称一致）
    @Autowired
    private ExecutorService taskExecutor;

    // 任务1：每1秒输出一次当前时间（共执行10次）
    public void startTimePrintTask() {
        // 提交任务到线程池
        taskExecutor.submit(() -> {
            try {
                for (int i = 0; i < 10; i++) {
                    System.out.println("当前时间: " + new Date());
                    Thread.sleep(1000); // 休眠1秒
                }
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt(); // 恢复中断状态
                System.out.println("时间打印任务被中断");
            }
        });
    }

    // 任务2：倒计时1分钟（从60秒到1秒）
    public void startCountdownTask() {
        // 提交任务到线程池
        taskExecutor.submit(() -> {
            try {
                for (int i = 60; i > 0; i--) {
                    System.out.println("倒计时: " + i + "秒");
                    Thread.sleep(1000); // 休眠1秒
                }
                System.out.println("倒计时结束！");
            } catch (InterruptedException e) {
                Thread.currentThread().interrupt(); // 恢复中断状态
                System.out.println("倒计时任务被中断");
            }
        });
    }
}

